
\begin{tikzpicture}[scale=.6]
  \draw[gray, very thin] (0,0) grid (10,10);
  \draw[thick] (0,5) -- (1,3) -- (3,2) -- (4,2)
    -- (4,1) -- (6,1) -- (7,2) -- (7,3) -- (8,4) -- (7,4) -- (7,5)
    -- (8,6) -- (8,5) -- (9,6) -- (9,7) -- (10,8) -- (9,8) -- (8,9)
    -- (6,8) -- (7,7) -- (5,6) -- (4,6) -- (2,7) -- cycle;
  \draw (0,5) -- (2,5) -- (6,3) -- (7,3);
  \fill[opafill=red] (7,3) -- (8,4) -- (7,4) -- (7,5) -- (8,6) -- (8,5)
    -- (9,6) -- (9,7) -- (10,8) -- (9,8) -- (8,9) -- (6,8) -- (7,7)
    -- (5,6) -- (4,6) -- (2,7) -- (0,5) -- (2,5) -- (6,3) -- cycle;
  \fill[opafill=yellow] (0,5) -- (1,3) -- (3,2) -- (4,2)
    -- (4,1) -- (6,1) -- (7,2) -- (7,3) -- (6,3) -- (2,5) -- cycle;
  \foreach \x/\y in {1/5,2/5,4/4,6/3} { \fill[lime] (\x,\y) circle (3pt); }
  \foreach \x/\y in {1/4,2/3,2/4,2/6,3/3,3/4,3/5,3/6,4/3,
      4/5,5/2,5/3,5/4,5/5,6/2,6/4,6/5,6/6,7/6,7/8,8/7,8/8} {
    \fill[red] (\x,\y) circle (3pt); }
  \foreach \x/\y in {1/6,2/7,4/6,5/6,6/8,7/4,7/5,7/7,8/4,8/5,8/6,
    8/9,9/6,9/7,9/8,10/8} { \fill[blue] (\x,\y) circle (3pt); }
  \foreach \x/\y in {1/3,3/2,4/1,4/2,5/1,6/1,7/2} {
    \fill[cyan] (\x,\y) circle (3pt); }
  \fill[green] (7,3) circle (3pt) (0,5) circle (3pt);
\end{tikzpicture}
